草庐IT

Java SE - 集合

全部标签

java - JPA 从具有多对多关联的集合中选择

我有2个具有多对多关联的实体类。调制解调器:@Entity@Table(name="MOD_PM")publicclassModPmextendsWebPageObjectimplementsSerializable,IDBNamedEntity{privatestaticfinallongserialVersionUID=1L;publicfinalstaticStringQ_GET_WITHOUT_STATUS_FOR_SCOPE="ModPm.getWithoutStatusForScope";@Idprivatelongid;....@ManyToMany@JoinTable(

java - 使用 Stream 比较两个集合 - anyMatch

我想比较list2中的任何对象是否存在于list1中。我可以遍历两个列表并使用.contains()比较所有元素,但我想知道是否有更有效的方法。我找到了this我正在尝试实现建议的方法:Listlist1;Listlist2;booleananyMatch=list1.stream().anyMatch(x->x.equals(list2.stream()));System.out.println(anyMatch);当我这样做时,我经常得到false,即使我期望的是true。怎么会? 最佳答案 根据您的评论,您有两个列表,list

java - 如何在遍历集合时安全地从集合中删除其他元素

我正在迭代JRECollection,它强制执行快速失败迭代器概念,因此如果Collection将抛出ConcurrentModificationException在迭代时被修改,而不是通过使用Iterator.remove()方法。但是,如果对象满足条件,我需要删除该对象的“逻辑伙伴”。从而防止合作伙伴也被处理。我怎样才能做到这一点?也许为此目的使用更好的集合类型?例子。myCollectionfor(BusinessObjectanObject:myCollection){if(someConditionIsTrue){myCollection.remove(anObjectsPa

java - 如何创建一个通用的 HashMap 来插入集合和对象?

如何实例化一个HashMap来放置集合和对象?//it'swrongMapparams=newHashMapListlstperson=getPerson();params.put("person",lstperson);params.put("doc",objectDoc);params.put("idSol",newLong(5));service.method(params);//methodpublicvoidmethod(Mapparams); 最佳答案 将HashMap声明为Mapparams=newHashMap();

java - 监视对集合的更改

假设您有以下javabean:publicclassMyBean{privateListnames=newArrayList();publicvoidaddName(Stringname){names.add(name);fireNamesPropertyChange(name);}}您通常如何为集合实现属性更改事件?您是否尝试使用index属性,它似乎更适用于数组而不是集合? 最佳答案 (注意:我在意识到自己的一些错误后更新了这篇文章,所以这不是原来的,而是更精致的)为此,我将创建两个新接口(interface),ListList

java - 数组、列表、集合和映射是可迭代的。还有什么?

即使只有List和Set实现了接口(interface)Iterable,我相信array,list,set和map都是所有iterable对象,因为我们可以通过foreach循环使用它们:for(Strings:newString[0]);for(Strings:newArrayList());for(Strings:newHashSet());for(Entryentry:newHashMap().entrySet());Map的情况可能有点不同,但让我们将其视为键值列表(它实际上是什么)。从可迭代的理解开始,我是否在以下方法中缺少类型?publicbooleanisIterabl

java - 我应该迭代一个 Java 集合来获取子集,还是应该先将它转换为数组然后迭代来获取它?

我正在调用一个API,它返回一个对象集合。我想获取对象的子集。我正在考虑两种解决方案。哪一个会给我更好的表现?根据我的理解,toArray()调用主要会遍历集合一次。如果那是真的,那么解决方案会更好吗?解决方案1-publicstaticListget(UUIDrecordid,intstart,intcount){Listnames=newArrayList();...Collectioncolumnnames=result.getColumnNames();intindex=0;for(UUIDcolumnname:columnnames){if((index>=start)&&(

java - 根据对象属性将 java 集合拆分为子集合

我有一个MyObjects列表...MyObject{intid,Stringname}。现在我想将列表拆分为具有相同“id”值的子列表,任何人都可以建议一种有效的方法来执行此操作。 最佳答案 如果您使用的是JDK1.8,您可以使用如下优雅的解决方案:Map>myObjectsPerId=myObjects.stream().collect(Collectors.groupingBy(MyObject::getId)); 关于java-根据对象属性将java集合拆分为子集合,我们在Sta

java - 如何在 java 中从 Iterable 创建集合?

例如,我有一组几何图形:Setfigures;有两种图形:正方形和圆形。我想使用googlecollections获取一组正方形:Iterables.filter(figures,squarePredicate);但是过滤器方法返回Iterable...我如何从Iterable创建Set?(不在Iterable上使用循环) 最佳答案 我认为您需要重新考虑您的要求。你需要一组正方形。为什么?集合只为您提供唯一性和迭代性。您在Iterable中具有唯一性,因为源是一个集合,并且您可以迭代Iterable中的项目。那你为什么需要这套?只有

java - java中的集合框架需要什么?

Java中的集合框架需要什么,因为所有数据操作(排序/添加/删除)都可以使用数组进行,而且数组适合内存消耗,并且与集合相比性能也更好。谁能给我一个实时数据导向的例子,它显示了这些实现(数组/集合)的区别。 最佳答案 数组不可调整大小。JavaCollectionsFramework提供了许多不同的有用数据类型,例如链接列表(允许在恒定时间的任何位置插入)、可调整大小的数组列表(类似于Vector但更酷)、红黑树、哈希基于映射(类似于Hashtable但更酷)。JavaCollectionsFramework提供了抽象,因此您可以将列